package comone.javafour.util;

import comone.javafour.Menu;


public class CrudUtil<T> {

    public T findEntity(T t,int id){
        Menu menu=null;
        if(t instanceof Menu){
            Menu[] menus = MenuOrder.menus;
            for(int i=0;i<menus.length;i++){
                if(id==menus[i].getId()){
                    menu=menus[i];
                    break;
                }
            }
        }
        return (T)menu;
    }

    //或
    public T[] findAll(T t){
        Menu[] menus1 =null;
        if(t instanceof Menu){
            Menu menu=(Menu)t;
            Menu[] menus = MenuOrder.menus;
            menus1=new Menu[menus.length];
            for(int i=0;i<menus.length;i++){
                if(menu.getId()>0 && menu.getId()==menus[i].getId()){
                        menus1[i]=menus[i];
                }else if(menu.getMname()!=null && menu.getMname().equals(menus[i].getMname())){
                        menus1[i]=menus[i];
                }else if(menu.getPrice()>0  && menu.getPrice()==menus[i].getPrice()){
                        menus1[i]=menus[i];
                }
            }
        }
        return (T[])menus1;
    }

    //查询所有
    public T[] findAll(){
        Menu[] menus = MenuOrder.menus;
        return (T[]) menus;
    }

    //新增
    public boolean inser(T t){
        Menu menu=null;
        boolean isflag=false;
        if(t instanceof Menu){
            menu=(Menu)t;
            Menu[] menus = MenuOrder.menus;
            for (int i=0;i<menus.length;i++){
                if(menus[i]==null){
                    menus[i]=menu;
                    isflag=true;
                    break;
                }
            }
        }
        return isflag;
    }

    //修改
    public boolean update(T t){
        Menu menu=null;
        boolean isflag=false;
        if(t instanceof Menu){
            menu=(Menu)t;
            Menu[] menus = MenuOrder.menus;
           for (int i=0;i<menus.length;i++){
                if(menus[i]!=null && menus[i].getId()==menu.getId() ){
                    menus[i]=menu;
                    isflag=true;
                    break;
                }
           }
        }
        return isflag;
    }

    //删除
    public boolean delete(T t){
        Menu menu=null;
        boolean isflag=false;
        if(t instanceof Menu){
            menu=(Menu)t;
            Menu[] menus = MenuOrder.menus;
            for (int i=0;i<menus.length;i++){
                if(menus[i]!=null && menus[i].getId()==menu.getId() ){
                    menus[i]=null;
                    isflag=true;
                    break;
                }
            }
        }
        return isflag;
    }


    public boolean checkName(Menu[] menus,int mid){
        boolean isflag=false;
        for (int i=0;i<menus.length;i++){
            if(menus[i]!=null && mid==menus[i].getId()){
                isflag=true;
            }
        }
        return isflag;
    }
}
